package cc.vv.lkimagecomponent2.lib;

import android.view.View;

import cc.vv.lkimagecomponent2.loaderplugin.LoadConfig;
import cc.vv.lkimagecomponent2.initplugin.InitConfig;

/**
 * 内核引擎接口。
 *
 * @author dupeng dupeng@vv.cc
 * @date 2018/3/14
 */

public interface IEngine {

    /**
     * 加载
     *
     * @param config
     */
    void load(LoadConfig config);

    /**
     * 初始化
     *
     * @param config
     */
    void init(InitConfig config);

    /**
     * 清空所有缓存.内存,sd.
     */
    void clearAllMemoryCaches();

    /**
     * 暂停所有图片请求
     */
    void pauseRequests();

    /**
     * 开始所有图片请求
     */
    void resumeRequests();

    /**
     * 清空view中的图片缓存
     *
     * @param view
     */
    void clearMemoryCache(View view);

    /**
     * 清空外存图片缓存
     */
    void clearDiskCache();

    /**
     * 清空运存中的图片缓存
     */
    void clearMemory();
}
